Image verification method and apparatus, electronic device and computer-readable storage medium

ABSTRACT

According to an embodiment of the present application, there is provided an image verification method and apparatus, an electronic device and a computer-readable storage medium, which can be applied to the technical field of network security and the field of image processing and recognition. The image verification method includes: displaying a first image portion and a second image portion, the first image portion being rotatable with respect to the second image portion, the first image portion and the second image portion being obtained by cropping an original image and rotating the cropped first image portion with respect to the second image portion; receiving an operation for rotating the first image portion; rotating the first image portion based on the operation; and determining whether an angle of the first image portion relative to the second image portion matches with the original image, in response to determining that the operation is ended.

CROSS-REFERENCE TO RELATED APPLICATION

This application claims priority to Chinese patent application No.202010706587.3, filed on Jul. 21, 2020, which is hereby incorporated byreference in its entirety.

TECHNICAL FIELD

The present application relates to a computer technology, and moreparticularly, to an image verification method and apparatus, anelectronic device, and a computer-readable storage medium, which may beapplied to the technical field of network security and the field ofimage processing and recognition.

BACKGROUND

A security verification code, derived from Turing testing, is anautomated way to distinguish between a human user and a computer. Everyyear, Internet enterprises suffer losses ranging in the order ofmillions to hundreds of millions due to computer attacks, and in China,the market scale of security-related black ash products in 2019 alonereached hundreds of billions in size. An Internet platform has developeda verification code technology to ensure the security of accounts andservices. As a result of the development in recent years, a verificationcode has evolved from early texts and graphics to today's sliders andpuzzles, with certain improvements in user experience and interceptioncapability. However, with the development of AI technology, the abilityof lawbreakers to crack a verification code has been significantlyimproved. In particular, for character recognition, image recognition,target detection, and the like, an attacker cracks a verification codeby means of natural language processing (NLP) technology and computervision (CV) technology at a cost getting lower and lower.

SUMMARY

According to an embodiment of the present application, there is providedan image verification method and apparatus, an electronic device, and acomputer-readable storage medium.

In a first aspect of the present application, there is provided an imageverification method, which may include: displaying a first image portionand a second image portion, the first image portion being rotatable withrespect to the second image portion, the first image portion and thesecond image portion being obtained by cropping an original image androtating the cropped first image portion with respect to the secondimage portion; receiving an operation for rotating the first imageportion; rotating the first image portion based on the operation; anddetermining whether an angle of the first image portion relative to thesecond image portion matches with the original image, in response todetermining that the operation is ended.

In a second aspect of the present application, there is provided animage verification method, which may include: sending a first imageportion and a second image portion to a client, to cause the client todisplay the first image portion and the second image portion, the firstimage portion being rotatable with respect to the second image portion,the first image portion and the second image portion being obtained bycropping an original image and rotating the cropped first image portionwith respect to the second image portion; receiving, from the client, anangle of the rotated first image portion relative to the second imageportion; and determining whether the angle matches with the originalimage.

In a third aspect of the present application, there is provided an imageverification apparatus, which may include: an image displaying moduleconfigured for displaying a first image portion and a second imageportion, the first image portion being rotatable with respect to thesecond image portion, the first image portion and the second imageportion being obtained by cropping an original image and rotating thecropped first image portion with respect to the second image portion; anoperation receiving module configured for receiving an operation forrotating the first image portion; an image rotation module configuredfor rotating the first image portion based on the operation; and amatching determination module configured for determining whether anangle of the first image portion relative to the second image portionmatches with the original image, in response to determining that theoperation is ended.

In the fourth aspect of the present application, there is provided animage verification apparatus, which may include: an image sending moduleconfigured for sending a first image portion and a second image portionto a client, to cause the client to display the first image portion andthe second image portion, the first image portion being rotatable withrespect to the second image portion, the first image portion and thesecond image portion being obtained by cropping an original image androtating the cropped first image portion with respect to the secondimage portion; an angle receiving module configured for receiving, fromthe client, an angle of the rotated first image portion relative to thesecond image portion; and a second matching determination moduleconfigured for determining whether the angle matches with the originalimage.

In a fifth aspect of the present application, there is provided anelectronic device, which may include: at least one processor; and amemory communicatively connected with the at least one processor;wherein, the memory stores instructions executable by the at least oneprocessor, the instructions being executed by the at least one processorto enable the at least one processor to execute the method according tothe first or second aspect of the present application.

In a sixth aspect of the present application, there is provided anon-transitory computer-readable storage medium storing computerinstructions, wherein the computer instructions cause a computer toperform the image verification method according to the first or secondaspect of the present application.

It should be understood that what is described in the Summary section isnot intended to limit the key or critical features of the embodiments ofthe present application, nor is it intended to limit the scope of thepresent application. Other features of the present application willbecome readily apparent from the following description.

BRIEF DESCRIPTION OF THE DRAWINGS

The foregoing and other objects, features and advantages of the presentapplication will become more apparent through more detailed descriptionsof exemplary embodiments of the present application taken in combinationwith the drawings, wherein like reference numerals generally representlike parts throughout the exemplary embodiments of the presentapplication. It should be understood that the drawings are included toprovide a better understanding of the present application and are not tobe construed as limiting the present application. In the drawings:

FIG. 1 illustrates a schematic diagram of an image verification system100 in which image verification methods in some exemplary embodiments ofthe present application may be implemented;

FIG. 2 illustrates a flowchart of an image verification method 200 inaccordance with an embodiment of the present application;

FIG. 3 illustrates a schematic diagram of an example display 300 inaccordance with an embodiment of the present application;

FIG. 4 illustrates a schematic diagram of an example display 400 inaccordance with an embodiment of the present application;

FIG. 5 illustrates a schematic diagram of an example display 500 inaccordance with an embodiment of the present application;

FIG. 6 illustrates a schematic diagram of an example display 600 inaccordance with an embodiment of the present application;

FIG. 7 illustrates a flowchart of an image verification method 700 inaccordance with an embodiment of the present application;

FIG. 8 illustrates a flowchart of an information encryption process 800in accordance with an embodiment of the present application;

FIG. 9 illustrates a flowchart of an image verification method 900according to an embodiment of the present application;

FIG. 10 illustrates a schematic diagram of an interaction process 1000of a client and a server in accordance with an embodiment of the presentapplication;

FIG. 11 illustrates a schematic diagram of an interaction process 1100of a client, a server and a human-machine model in accordance with anembodiment of the present application;

FIG. 12 illustrates a schematic block diagram of an image verificationapparatus 1200 in accordance with an embodiment of the presentapplication;

FIG. 13 illustrates a schematic block diagram of an image verificationapparatus 1300 in accordance with an embodiment of the presentapplication; and

FIG. 14 illustrates a schematic block diagram of an electronic device1400 in accordance with an embodiment of the present application.

Throughout the drawings, the same or corresponding reference numeralsrepresent the same or corresponding parts.

DETAILED DESCRIPTION

Preferred embodiments of the present application will be described inmore detail below with reference to the drawings. Although the preferredembodiments of the present application are shown in the drawings, itshould be understood that the present application may be implemented invarious forms and should not be limited to the embodiments set forthherein. Rather, these embodiments are provided so that the presentapplication will be thorough and complete, and will fully convey thescope of the present application to those skilled in the art.

As used herein, the term “comprising” and variations thereof are meantto be inclusive, i.e., “including, but not limited to”. The term “or”means “and/or”, unless specifically stated otherwise. The term “basedon” means “based at least in part on”. The terms “one exampleembodiment” and “one embodiment” mean “at least one example embodiment”.The term “another embodiment” means “at least one further embodiment”.The terms “first”, “second” and the like may refer to different or thesame objects. Other explicit and implicit definitions are also possiblebelow.

In order to improve the verification code interception effect, on atechnical level, verification data can be collected as much as possible,and a variety of parameter verifications and behavior modelings can becarried out. In terms of product interaction, difficulty of semanticunderstanding of a computer can be increased, and difficulty of visualrecognition of the computer can be improved. However, traditionalverification code interception technologies have a variety of problemssuch as limited defense effect, product-dependent interaction design,reduced user experience of normal users and the like.

As described above in the Background, the traditional verification codeinterception technologies have a variety of problems such as limiteddefense effect, product-dependent interaction design, reduced userexperience of normal users and the like. Specifically, in order toeffectively intercept computer attacks, the main research directions ofthe traditional verification code interception technologies includebehavior modeling, increasing the difficulty of semantic understandingand increasing the difficulty of visual recognition. However, thetraditional verification code interception technologies still have thefollowing disadvantages:

(1) A method of performing a parameter verification and behaviormodeling by collecting more parameters. By adopting such method, aserver side embeds parameters into inherent information such as a usercookie in a case where a user begins to access a page, and then verifiesthe integrity, the attribution and the like of the parameters when theuser requests. With this method, ordinary attackers can be intercepted,but for attackers who have a ability to tamper with page requestparameters, because they can construct reasonable request parameters atwill, the defense effect of this method is very limited. With thedevelopment of machine learning, a behavior modeling method has beenintroduced into more and more parameter verifications, in which arecognition model is trained by marking existing attacks, and then theattack behaviors are recognized in real time. However, the collection ofeffective behaviors requires the user to conduct more page interactions,which depends more on the interaction design of a product.

(2) A method of increasing the difficulty of semantic understanding of acomputer. In the early days, the main defense way of a verification codewas to recognize characters, such as English letters and numbers in animage, which was mainly aimed at recognizing content on the image, andthere was almost no difficulty in semantic understanding. With theintroduction of an optical character recognition (OCR) technology intocomputer simulation attack, the difficulty of recognition issignificantly reduced. Afterwards, the verification way gradually startsto adopt the four arithmetic operation on the basis of the originalcontents, so as to increase the verification difficulty. Nowdays, manyverification codes have evolved into more complex semantics, such aslocation judgment, color judgment, common sense judgment, hotspotjudgment and the like. With the increasing difficulty of semanticunderstanding, although it can increase the difficulty of attack to thecomputer to a certain extent, it also greatly reduces the productexperience of normal users. Even in verification methods such as commonsense judgment and hotspot judgment and the like, a computer based onmachine learning can complete verification faster and more accuratelythan the normal users, and the interception effect is poor.

(3) A method of increasing the difficulty of visual recognition of acomputer. In addition to increase the difficulty of semanticunderstanding, there is further a method for improving the ability ofattack interception, which is to increase the difficulty of visualrecognition of a computer, so that the computer can hardly visuallyrecognize a verification result even if it understands a verificationpurpose. Existing verification methods include text recognition, gesturerecognition, position recognition, background recognition and the like.This kind of verification code has a certain interception ability withrespect to a traditional attack to the computer, but with thedevelopment of the computer vision technology, it is no longer difficultto do above recognition on a complete image, and the computer hasalready possessed the ability to bypass the above visual verification.

In order to at least partially address one or more of the above andother potential problems, the embodiments of the present applicationpropose an image verification method and apparatus adopting two imageportions which are rotatable relatively or even have a gap therebetween,and propose a new way of user interaction as well as an integratedsecurity verification system integrating parameter verification andbehavior modeling. With the method proposed in the embodiment of thepresent application, a user can complete an image verification by asimple dragging interaction, and on the basis of not affecting therecognition of human users, the difficulty of semantic understanding andthe difficulty of visual recognition of a computer can be increased, andthe attack to the computer can be effectively intercepted.

FIG. 1 illustrates a schematic diagram of an image verification system100 in which image verification methods in some exemplary embodiments ofthe present application may be implemented. The image verificationsystem 100 may include a plurality of clients 110-1, 110-2, . . . ,110-N (hereinafter referred to collectively as the client 110, where Nis a natural number greater than 1). The image verification system 100may further include a server 130. The client 110 and the server 130perform operations such as data transmission and interaction through anetwork 120. The client 110 may be an electronic device supporting avisualized interaction operation, such as a smart phone, a laptop, adesktop computer, a tablet computer, a smart television, an audioelectronics with a screen, a personal digital assistant (PDA) and thelike. Examples of the network 120 may include, but be not limited to,the Internet, a corporate Intranet, a local area network, a mobilecommunication network, and a combination thereof. It should be notedthat the image verification system 100 is extendable, which may includemore servers 130, and may even include more kinds of networks 120. Forreasons of simplicity of illustration, only one server 130 and onenetwork 120 are shown in FIG. 1.

In accordance with some embodiments of the present application, a usermay use the client 110 to perform an image verification, to enableoperations such as logging into a system or application, validatinginformation, sending information and the like, and implements the aboveoperations by interacting with the server 130. According to otherembodiments of the present application, the client 110 may also notinteract with the server 130, but the operation of image verificationmay be completed locally at the client 100.

FIG. 2 illustrates a flowchart of an image verification method 200 inaccordance with an embodiment of the present application. Specifically,the image verification method 200 may be performed by the imageverification system 100. It should be understood that the imageverification method 200 may also include an additional operation notshown and/or may omit an illustrated operation, and the scope of thepresent application is not limited in this respect.

At block 202, the client 110 displays a first image portion and a secondimage portion. According to an embodiment of the present application,the first image portion is rotatable relative to the second imageportion, and the first image portion and the second image portion areobtained by cropping an original image and rotating the cropped firstimage portion with respect to the second image portion. According to anembodiment of the present application, the first image portion and thesecond image portion may be received by the client 110 from the server130 via the network 120.

FIG. 3 illustrates a schematic diagram of an example display 300 inaccordance with an embodiment of the present application. According tothe embodiment of the present application, the example display 300 maybe a display on the client 110. The example display 300 may include afirst image portion 302 and a second image portion 304. For reasons ofclarity, in the example display 300, there is a gap between the firstimage portion 302 and the second image portion 304, but the first imageportion 302 and the second image portion 304 may also be tightly fittedwithout a gap.

As shown in FIG. 3, the first image portion 302 and the second imageportion 304 are two portions of a circular original image, wherein, thefirst image portion 302 is rotatable relative to the second imageportion 304. According to some embodiments of the present application,the first image portion 302 is rotatable and the second image portion304 is stationary. According to further embodiments of the presentapplication, the first image portion 302 is stationary and the secondimage portion 304 is rotatable. According to some embodiments of thepresent application, both the first image portion 302 and the secondimage portion 304 are rotatable.

According to some embodiments of the present application, the originalimage may be of any shape including square and rectangle, and the firstimage portion 302 and the second image portion 304 are cropped from theoriginal image. According to further embodiments of the presentapplication, the original image may be circular, with a center circlecropped out of the original image being the first image portion 302 andthe remaining portion being the second image portion 304.

According to the embodiment of the present application, a user needs tocomplete an image verification operation by rotationally aligning thefirst image portion 302 and the second image portion 304 through anoperation such as a touch drag or a mouse drag or the like. In someembodiments, the first image portion 302 and the second image portion304 may be initially aligned, at this time according to different systemsettings, the user may be required to perform the image verification byclicking a rotatable portion or rotating the rotatable portion by onerevolution so that the first image portion 302 and the second imageportion 304 are aligned again.

According to some embodiments of the present application, in a casewhere the user is required to make the first image portion 302 to bealigned with the second image portion 304 by dragging and rotating thefirst image portion 302, the second image portion 304 may be displayedin a rotating state or a swinging state, thereby increasing thedifficulty of passing verification by aligning the two portions throughcomputer recognition. The rotation or swing of the second image portion304 may be carried out as per an instruction of the client 110 or theserver 130. The scheme of adopting simultaneous rotation of the firstimage portion 302 and the second image portion 304 may prevent staticmatching of a computer simulation program, for example, after thecomputer collects enough verification image inventories by variousmeans, under the condition that the second image portion 304 isstationary, a method applicable to image skeleton pixel matching has acertain verification success probability, thus the scheme of adding thesimultaneous rotation of the first image portion 302 and the secondimage portion 304 can solve, from the source, the attack of staticproofreading of a computer by collecting the image inventory.

According to some embodiments of the present application, a gap may beformed between the first image portion 302 and the second image portion304 in a case where the client 110 displays the first image portion 302and the second image portion 304. According to some embodiments of thepresent application, a gap may be formed between the first image portion302 and the second image portion 304 by scaling at least one of thefirst image portion 302 and the second image portion 304, and a gap maybe formed between the first image portion 302 and the second imageportion 304 by at least one of zooming out the first image portion 302and zooming in the second image portion 304. Forming a gap between thefirst image portion 302 and the second image portion 304 may be carriedout as per an instruction of the client 110 or the server 130.

FIG. 4 illustrates a schematic diagram of an example display 400 inaccordance with an embodiment of the present application. According tothe embodiment of the present application, the example display 400 maybe a display on the client 110. The example display 400 may include afirst image portion 302, a second image portion 304, and a gap 402 inthe form of a blank circle formed between the first image portion 302and the second image portion 304.

By forming the gap 402 in the form of a blank circle between the firstimage portion 302 and the second image portion 304, this makes itdifficult for a computer to pass an image verification by recognizingthe pixel continuity of an edge of the image through computer vision,thus the attack in terms of the computer vision can be effectivelyprevented, and the existence of the gap 402 makes the first imageportion 302 and the second image portion 304 not be a complete image anylonger, so that the difficulty of computer recognition can be furtherincreased.

Combined adjustment of the width of the gap 402 and the relativerotation speed can simultaneously intercept computer simulation attacksof dynamic computer vision recognition and static library matching withvery little disruption to normal users, and because the verificationmethod is novel, it will not make the user resist emotionally or reducethe user experience.

According to some embodiments of the present application, the width ofthe gap 402 formed between the first image portion 302 and the secondimage portion 304 may be determined based on a desired difficulty levelof image verification. According to further embodiments of the presentapplication, the degree to which at least one of the first image portion302 and the second image portion 304 is scaled (i.e., the width of theformed gap 402) may be determined based on the desired difficulty levelof image verification. The wider the gap 402 is, the larger thedifficulty of computer recognition is. The degree to which at least oneof the first image portion 302 and the second image portion 304 isscaled may be determined by the client 110 or the server 130.

At block 204, the client 110 receives an operation for rotating thefirst image portion 302. According to some embodiments of the presentapplication, the operation for rotating the first image portion 302 maybe a drag operation, at this time, the client 110 may receive anoperation for rotating the first image portion 302 through rotating, bythe user, the first image portion 302 by an operation such as a touchdrag, a mouse drag or the like. According to further embodiments of thepresent application, the operation for rotating the first image portion302 may be a click operation that causes the first image portion 302 tomake rotation corresponding to a position on the rotated first imagepart 302, for example by clicking on the position. Meanwhile, theoperation for rotating the first image portion 302 not only may be usedto rotate the first image portion 302 clockwise, but also may be used torotate the first image portion 302 counterclockwise. It is noted thatthe form of the operation for rotating the first image portion 302 isnot limited in the present application.

According to some embodiments of the present application, the client 110may display an indicating device on the first image portion 302, so thatthe user can rotate the first image portion 302 by performing anoperation such as a touch drag, a mouse drag or the like with respect tothe indicating device.

FIG. 5 illustrates a schematic diagram of an example display 500 inaccordance with an embodiment of the present application. According tothe embodiment of the present application, the example display 500 maybe a display on the client 110. The example display 500 may include afirst image portion 302, a second image portion 304, and an indicatingdevice 502 on the first image portion 302. The user may rotate the firstimage portion 302 by performing an operation such as a touch drag, amouse drag or the like with respect to the indicating device 502.

According to further embodiments of the present application, the client110 may display a preset control on a portion other than the first imageportion 302 and the second image portion 304, or on the first imageportion 302 or the second image portion 304, so that the user canachieve rotation of the first image portion 302 by manipulating thepreset control. Herein, the preset control may be, for example, aslider, a direction button, or a clicking area supporting acorresponding rotation of the first image portion 302 by clicking aspecific position thereon, or the like.

At block 206, the client 110 rotates the first image portion 302 basedon the received operation. According to some embodiments of the presentapplication, the client 110 may synchronously rotate the first imageportion 302 based on the received operation. According to furtherembodiments of the present application, the client 110 may jump torotate the first image portion 302 based on the received operation ofdirectly clicking on a certain position.

At block 208, the client 110, in response to that the operation isended, determines whether the angle of the first image portion 302relative to the second image portion 304 matches with the originalimage, i.e., whether the rotated first image portion 302 is aligned withthe second image portion 304.

According to some embodiments of the present application, in a casewhere the angle of the rotated first image portion 302 relative to thesecond image portion 304 is smaller than a certain predeterminedthreshold, e.g., 3 degrees, it can be regarded that the angle of thefirst image portion 302 relative to the second image portion 304 matcheswith the original image. Herein, the client 110 may parameterize theperformed operation and the angle of the rotated first image portion 302relative to the second image portion 304, and determine that thematching condition may also be parameterized, thereby facilitatingdetermination of whether the angle of the first image portion 302relative to the second image portion 304 matches with the originalimage.

According to some embodiments of the present application, the client 110may send the determined angle of the first image portion 302 relative tothe second image portion 304 to the server 130 through the network 120,so that the server 130 determines whether the angle matches with theoriginal image. Then, the client 110 may receive, from the server,information indicating whether the angle matches with the originalimage.

FIG. 6 illustrates a schematic diagram of an example display 600 inaccordance with an embodiment of the present application. According tothe embodiment of the present application, the example display 600 maybe a display on the client 110. The example display 500 may include afirst display 602 and a second display 604. In a case where it isdetermined at block 208 that the angle of the first image portion 302relative to the second image portion 304 matches with the originalimage, the client 110 displays the first display 602, thus indicatingmatching. In a case where it is determined at block 208 that the angleof the first image portion 302 relative to the second image portion 304does not match with the original image, the client 110 displays thesecond display 604, thus indicating mismatching.

According to some embodiments of the present application, in a casewhere it is determined by the client 110 itself whether the angle of thefirst image portion 302 relative to the second image portion 304 matcheswith the original image, the client 110 may display the first display602 or the second display 604 directly according to the determinationresult.

Using the technology according to the present application, a user cancomplete an image verification by a simple dragging interaction. The useof two image portions which are rotatable relatively or even have a gaptherebetween can increase the difficulties of semantic understanding andvisual recognition of a computer without affecting the identification ofa human user, and can achieve an effective interception of computerattacks, so that it is difficult to pass an image verification, even ifan attacker obtains a large amount of verification code material byvarious means, to train a computer vision model.

FIG. 7 illustrates a flowchart of an image verification method 700 inaccordance with an embodiment of the present application. Specifically,the image verification method 700 may be performed by the imageverification system 100. It should be understood that the imageverification method 700 may also include an additional operation notshown and/or may omit an illustrated operation, and the scope of thepresent application is not limited in this respect.

At block 702, the server 130 sends the first image portion 302 and thesecond image portion 304 to the client 110 via the network 120, suchthat the client 110 displays the first image portion 302 and the secondimage portion 304. According to an embodiment of the presentapplication, the first image portion 302 is rotatable relative to thesecond image portion 304, and the first image portion 302 and the secondimage portion 304 are obtained by cropping the original image androtating the cropped first image portion 302 with respect to the secondimage portion 304. According to some embodiments of the presentapplication, the original image can be of any shape including square andrectangle, and the first image portion 302 and the second image portion304 are cropped from the original image. According to furtherembodiments of the present application, the original image may becircular, with a center circle cropped out of the original image beingthe first image portion 302 and the remaining portion being the secondimage portion 304. The operation described in the block 702 correspondsto that described above with reference to the block 202, and will not berepeated here.

At block 704, the server 130 receives the angle of the rotated firstimage portion 302 relative to the second image portion 304 from theclient 110 via the network 120. The operation described in the block 704corresponds to that described above with reference to the block 208, andwill not be repeated here.

At block 706, the server 130 determines whether the angle of the rotatedfirst image portion 302 relative to the second image portion 304 matcheswith the original image, i.e., whether the rotated first image portion302 is aligned with the second image portion 304. The operationdescribed in the block 706 corresponds to that described above withreference to the block 208, and will not be repeated here. According tothe embodiment of the present application, in a case where the server130 determines that the angle of the rotated first image portion 302relative to the second image portion 304 matches with the originalimage, information indicating that the angle of the rotated first imageportion 302 relative to the second image portion 304 matches with theoriginal image may be sent to the client 110 via the network 120, asdescribed with reference to the block 206 and FIG. 6.

FIG. 8 illustrates a flowchart of an information encryption process 800in accordance with an embodiment of the present application.Specifically, the information encryption process 800 may be performed bythe image verification system 100.

In the information encryption process 800, the client 110 and the server130 initially agree on a private key, and agree to employ, for example,an advanced encryption standard (AES). At block 802, the client 110interacts with the user, and generates corresponding data, e.g.,parameters.

At block 804, the client 110 encrypts the generated data by using theprivate key, to obtain encrypted data.

At block 806, the client 110 sends the encrypted data and a public keyto the server 130.

At block 808, the server decrypts the received encrypted data by usingthe private key.

By adopting the information encryption process 800, all data transferprocesses between the client 110 and the server 130 use encryptedtransmission, so that it is possible to prevent a computer attacker fromintercepting a security verification result from the data transferprocess, and thus the security of operation of the image verificationsystem 100 itself is ensured.

FIG. 9 illustrates a flowchart of an image verification method 900 inaccordance with an embodiment of the present application. Specifically,the image verification method 900 may be performed by the imageverification system 100.

At block 902, the client 110 interacts with a user. According to anembodiment of the present application, the user performs a businessoperation requiring verification, such as registration, login and thelike, through the client 110, and at this time, the client 100 maycollect user behavior data.

At block 904, a human-machine judgment, such as a parameterverification, a behavior modeling and the like, may be performed by theclient 110 or the server 130 based on the user interaction behavior.

At block 906, the client 110 or the server 130 determines whether theparameter verification and the behavior modeling are abnormal. If thereis no abnormality, it proceeds to block 908; otherwise, it proceeds toblock 910.

At the block 908, the business operation performed by the user issuccessful, and the user can complete the business operation withoutbeing aware of it.

At the block 910, the client 110 or the server 130 further determineswhether the operation behavior is a computer attack. If the operationbehavior is a computer attack, it proceeds to block 912; otherwise, itproceeds to block 914.

At the block 912, the client 110 or the server 130 may guide a computerattacker into a spoofing operation page (e.g., a honeypot page), givingthe computer attacker the illusion that the attack passes, and thus itis possible to further collect relevant information about the computerattacker.

At the block 914, the client 110 or the server 130 may determine a risklevel through the parameter verification result and the behaviormodeling.

At block 916, the client 110 or the server 130 may determine a desireddifficulty of image verification by the risk level, and in turndetermine the first image portion 302 and the second image portion 304to be used for the image verification.

At block 918, the client 110 or the server 130 performs imageverification. The process of performing the image verification issimilar to that described above with reference to FIGS. 1 to 8, and willnot be repeated here.

At block 920, the client 110 or the server 130 collects interactionbehaviors in the verification process and feeds the interactionbehaviors back to the block 904, and aggregates previous user businessoperation behavior for human-machine judgment, and repeats in this way,until the user business operation is successful or it proceeds to aspoofing operation page.

FIG. 10 illustrates a schematic diagram of an interaction process 1000of a client and a server in accordance with an embodiment of the presentapplication. Specifically, the image verification method 900 may beperformed by the image verification system 100, wherein, operations onthe left side of FIG. 10 are executed by the client 110, and operationson the right side are executed by the server 130.

At block 1002, after collecting a user interaction behavior, the client110 aggregates a relevant parameter, and sends an image verificationrequest to the server 130.

At block 1004, the server 130 determines a risk level, e.g., using ahuman-machine recognition system, based on the image verificationrequest.

At block 1006, the server 130 generates verification images of differentverification difficulties according to the risk level.

At block 1108, the client 110 receives a verification image (i.e., thefirst image portion 302 and the second image portion 304) from theserver 130, and displays the verification image.

At block 1110, the client 110 determines an angle of the rotated firstimage portion 302 relative to the second image portion 304, andcoordinates and a position of the operation, through the operationperformed by the user.

At block 1112, the client 110 sends the angle of the rotated first imageportion 302 relative to the second image portion 304 to the server 130.

At block 1114, the server 130 compares the rotation angle, to determinewhether the first image portion 302 and the second image portion 304 arealigned.

At block 1116, the client 110 sends the coordinates and the position ofthe operation to the server 130.

At block 1118, the server 130 utilizes a human-machine modeling torecognize whether the coordinates and the position of the operation areabnormal. According to the embodiment of the present application,whether the coordinates and the position of the operation are abnormalmay include the position at which a contact point is operated each time,the trajectory of the contact point, and whether the operation isperformed at a uniform speed, which thus can be used to determinewhether the operation is performed by a human user or by a computerattacker.

At block 1120, the server 130 may generate a verification result of asuccessful verification or a failed verification, based on determiningwhether the angle is correct and whether the coordinates and theposition of the operation are abnormal at the block 1114 or the block1118.

According to the embodiment of the present application, in a case wherethe server 130 determines at the block 1114 or the block 1118 that theangle is wrong or the coordinates and the position of the operation areabnormal, the sever 130 may re-generate an image of correspondingverification difficulty to perform verification again, or to guide thecomputer attacker into a spoofing operation page (e.g., a honeypotpage).

At block 1122, the client 110 receives a verification result from theserver 130.

FIG. 11 illustrates a schematic diagram of an interaction process 1100of a client 110, a server 130 and a human-machine model 130-1 inaccordance with an embodiment of the present application. According tothe embodiment of the present application, the human-machine model 130-1may be considered to be a lower level module of the server 130, and mayalso be considered to be a part of the server 130. An input of thehuman-machine model 130-1 may be a feature of a interaction behavior,and an output of the human-machine model 130-1 may be a probability thatthe interaction behavior is risky.

According to the embodiment of the present application, the interactionprocess 1100 may include an on-line processing process and an off-lineprocessing process. Herein, the off-line processing process indicatesthat the processing process is not directed to one-time login behavior,but may be directed to all login behaviors within a time period, e.g.,several hours.

At block 1101 and block 1102, in a case where the user uses the client110 for a human-computer interaction to generate behavior data, theclient 110 performs parameter verification and collection of interactionbehavior coordinates, and sends the data to the server 130.

At block 1103, the server 130 may perform further verification ofparameters, such as attribution verification, timeliness check,uniqueness check, validity check and the like, and in a case where theverification fails, an abnormal result is returned directly. In a casewhere the verification is normal, it proceeds to block 1104.

At the block 1104, the server 130 structurizes the behavior data andconstructs a human-machine model service layer request.

At block 1105, the client 110 builds a human-machine log repositorybased on the parameter verification and interaction behavior coordinatescollected at the blocks 1101 and 1102 as well as the constructed modelrequest at the block 1104.

At block 1106, the client 110 acquires an additional off-line featuredatabase, which is a historical database storing information used tomark an abnormal behavior.

At block 1107, the client 110 utilizes the human-machine log repositoryand the off-line feature database to recognize an exception request bydata mining (for example, judging whether there is abnormality (such asa batch operation behavior) by the human-machine log repository itself),mark the abnormal behavior and obtain a human-machine recognitionabnormal feature library.

At block 1109, the human-machine recognition abnormal feature library isprovided to the human-machine model 130-1.

At block 1112, a human-machine model service layer in the human-machinemodel 130-1 receives a parameter request, and calculates featureengineering that is unified with the off-line.

According to the embodiment of the present application, the requesteddata of the human-machine model service layer in the human-machine model130-1 may fall into a model log repository, as shown in the block 1114.According to the embodiment of the present application, the model logrepository refers to a log generated by an action of calling a modelafter the model is established, such as data for model-based operations,and the model log repository comes from the human-machine model 130-1 ofthe on-line section. Therefore, in a case where the model has not beenestablished, the model log repository does not need to be considered forthe time being.

Then, the human-machine model 130-1 may integrate the human-machine logrepository and the model log repository to calculate human-machineoff-line feature engineering which is unified with on-line featureengineering, as shown in the block 1108.

The human-machine model 130-1 is learned and modeled based on thefeature library and the feature engineering, for example, using an opensource deep learning framework, as shown in the block 1110.

According to the embodiment of the present application, the featureengineering and model are used in both off-line and on-line phases, andare therefore shown in the form of double arrows in the off-line phaseand the on-line phase of the human-machine model 130-1, respectively.

At block 1111, the human-machine model 130-1 utilizes the obtainedparameters to call corresponding model files, obtain a recognitionresult, and return the recognition result to the human-machine modelservice layer.

The human-machine model service layer improves the modeling result basedon control such as the concurrent control load balancing or the likeshown in the block 1113.

At block 1115, the server 130 receives the behavior trajectory modelingresult, and finally returns a normal or abnormal behavior result to theclient 110, in combination with further verification of the parametersas shown in the block 1103.

Therefore, with the interaction process 1100 of the client 110, theserver 130 and the human-machine model 130-1 shown in FIG. 11, ajudgment result of the input user interaction behavior can be obtained,and modeling a behavior of user interaction operation and presenting averification image of what degree of difficulty can, in turn, depend onthe result of human-machine recognition. Meanwhile, the interactionprocess 1100 has very good availability in terms of stability, faulttolerance, extendibility, complexity and timeliness, which is sufficientto cope with large-scale computer simulation attacks.

According to an example embodiment of the present application, an imageincluding an original image and the first image portion 302 and thesecond image portion 304 that are generated after being cropped may bereferred to as a material. Thus, the embodiment of the presentapplication may further include generating different types of imagesaccording to an on-line request, and managing the usage status of theimages. The process of image processing may include, for example,obtaining a large amount of authorized materials, performing croppingprocessing on the images by using an automated program, as well asperforming different levels of scaling, rotation and combination on thecropped images in order to meet different verification difficultyrequirements, while parameterizing the operations, and storing theparameters into a material parameter database for use in the imageverification.

According to an example embodiment of the present application, a pieceof material may go through five different stages: (1) off-line rawmaterial, which means original material before being cropped; (2)processed material, which means material after being cropped, scaled,rotated and combined; (3) material waiting for going on line, whichmeans material selected from the processed material to be available foron-line use; (4) on-line material, which means verification materialbeing used in various business scenarios, and can be configuredindependently depending on the business scenarios; and (5) off-linematerial, which means material which goes off line from on-line use, forsubsequent reuse.

Hereinabove, the image verification system 100 in which imageverification methods in some exemplary embodiments of the presentapplication may be implemented, the image verification methods 200, 700,and 900 according to the embodiments of the present application, theexample displays 300, 400, 500, and 600 according to the embodiments ofthe present application, the image verification method 700 according tothe embodiment of the present application, the information encryptionprocess 800 according to the embodiment of the present application, andrelated contents of the interaction process 1000 of a client and aserver according to the embodiment of the present application, as wellas the interaction process 1100 of a client, a server and ahuman-machine model according to the embodiment of the presentapplication, have been described with reference to FIGS. 1 to 11. It isto be understood that the foregoing descriptions are intended to betterillustrate what are recited in the present application, and are notintended to be limiting in any way.

It is to be understood that the numbers of respective elements and themagnitudes of respective physical quantities employed in the respectivefigures of the present application are merely exemplary, and are notintended to limit the protection scope of the present application. Theabove number and magnitudes may be arbitrarily set as needed, withoutaffecting the normal implementation of the embodiments of the presentapplication.

The details of the image verification methods according to theembodiments of the present application have been described above withreference to FIGS. 1 to 11. Hereinafter, respective modules of the imageverification apparatus will be described with reference to FIGS. 12 and13.

FIG. 12 a schematic block diagram of an image verification apparatus1200 in accordance with an embodiment of the present application. Asshown in FIG. 3, the image verification apparatus 1200 may include: animage displaying module 1210 configured for displaying a first imageportion and a second image portion, the first image portion beingrotatable with respect to the second image portion, the first imageportion and the second image portion being obtained by cropping anoriginal image and rotating the cropped first image portion with respectto the second image portion; an operation receiving module 1220configured for receiving an operation for rotating the first imageportion; an image rotation module 1230 configured for rotating the firstimage portion based on the operation; and a matching determinationmodule 1240 configured for determining whether an angle of the firstimage portion relative to the second image portion matches with theoriginal image, in response to determining that the operation is ended.

In some embodiments, the first image portion may be a portion croppedfrom the original image and the second image portion may be a remainingportion of the original image.

In some embodiments, the image displaying module 1210 may include afirst image displaying module (not shown) configured for displaying thesecond image portion in a rotating state or a swinging state.

In some embodiments, the image displaying module 1210 may include a gapforming module (not shown) configured for forming a gap between thefirst image portion and the second image portion.

In some embodiments, the gap forming module may include an image scalingmodule (not shown) configured for scaling at least one of the firstimage portion and the second image portion.

In some embodiments, the gap forming module may include a gap widthdetermination module (not shown) configured for determining a width ofthe gap formed between the first image portion and the second imageportion, based on a desired difficulty level of image verification.

In some embodiments, the image verification apparatus 1200 may furtherinclude an indicating device displaying module (not shown) configuredfor displaying an indicating device on the first image portion, and theoperation receiving module 1220 may include a first operation receivingmodule (not shown) configured for receiving the operation through theindicating device.

In some embodiments, the image verification apparatus 1200 may furtherinclude a preset control displaying module (not shown) configured fordisplaying a preset control, and the operation receiving module 1220 mayinclude a second operation receiving module (not shown) configured forreceiving the operation through the preset control.

In some embodiment, the matching determination module 1240 may include afirst matching determination module (not shown) configured for sendingthe angle to a server, to cause the server to determine whether theangle matches with the original image.

In some embodiments, the image verification apparatus 1200 may furtherinclude a matching information receiving module (not shown) configuredfor receiving, from the server, information indicating whether the anglematches with the original image.

In some embodiments, the image verification apparatus 1200 may furtherinclude an image receiving module (not shown) configured for receivingthe first image portion and the second image portion from a server.

FIG. 13 a schematic block diagram of an image verification apparatus1300 in accordance with an embodiment of the present application. Asshown in FIG. 13, the image verification apparatus 1300 may include: animage sending module 1310 configured for sending a first image portionand a second image portion to a client, to cause the client to displaythe first image portion and the second image portion, the first imageportion being rotatable with respect to the second image portion, thefirst image portion and the second image portion being obtained bycropping an original image and rotating the cropped first image portionwith respect to the second image portion; an angle receiving module 1320configured for receiving, from the client, an angle of the rotated firstimage portion relative to the second image portion; and a secondmatching determination module 1330 configured for determining whetherthe angle matches with the original image.

In some embodiments, the first image portion may be a portion croppedfrom the original image and the second image portion may be a remainingportion of the original image.

In some embodiments, the image verification apparatus 1300 may furtherinclude a matching information sending module (not shown) configured forsending, to the client, information indicating whether the angle matcheswith the original image.

According to embodiments of the present application, the presentapplication further provides an electronic device and acomputer-readable storage medium.

Through the descriptions above with reference to FIGS. 1 to 13, thetechnical solutions according to the embodiment of the presentapplication have many advantages as compared with traditional solutions.For example, with the above technical solutions, use of two imageportions which are relatively rotatable or even have a gap therebetweenincreases the difficulty of computer simulation attacks in both semanticunderstanding and computer vision recognition, and in combination withthe human-machine recognition system proposed by the presentapplication, recognition of a normal user and a computer simulationattack can be realized effectively. Specifically, (1) the imageverification method itself proposed by the present application does notprovide specific semanteme, such as clicking an image, sliding to acertain position, rotating an angle and the like, and instead, theverification result is determined by automatic proofreading of the firstimage portion and the second image portion, which thus causes highdifficulty of computer attack but little difficulty in understanding fora normal user; (2) a gap in the form of a blank circle between the firstimage portion and the second image portion, makes it difficult for acomputer to pass the image verification by recognizing the pixelcontinuity of the edge of the image, thus the attack in terms of thecomputer vision can be effectively prevented, and the existence of thegap makes the first image portion and the second image portion not be acomplete image any longer, so that the difficulty of computerrecognition can be further increased; and (3) the present applicationprovides a behavior recognition method based on machine learning for theimage verification method using the above described technical solution,and provides a systematized solution.

FIG. 14 illustrates a schematic block diagram of an electronic device1400 in accordance with an embodiment of the present application. Forexample, the client 110 as shown in FIG. 1, the image verificationapparatus 1200 as shown FIG. 12, and the image verification apparatus1300 as shown by FIG. 13 may be implemented by the electronic device1400. The electronic device 1400 is intended to represent various formsof digital computers, such as laptop computers, desktop computers,workstations, personal digital assistants, servers, blade servers,mainframe computers, and other suitable computers. The electronic device1400 may also represent various forms of mobile devices, such as apersonal digital assistant, a cellular telephone, a smart phone, awearable device, and other similar computing devices. The componentsshown herein, their connections and relationships, and their functionsare by way of example only and are not intended to limit theimplementations of the application described and/or claimed herein.

As shown in FIG. 14, the electronic device 1400 may include one or moreprocessors 1401, a memory 1402, and interfaces for connecting therespective components, including high-speed interfaces and low-speedinterfaces. The respective components are interconnected by differentbuses and may be mounted on a common main-board or otherwise as desired.The processor may process instructions executed within the electronicdevice 1400, including instructions stored in or on the memory todisplay graphical information of a graphical user interface (GUI) on anexternal input/output device, such as a display device coupled to theinterface. In other implementations, a plurality of processors and/orbuses may be used with a plurality of memories, if necessary. Also, aplurality of electronic devices 1400 may be connected, each providingsome of the necessary operations (e.g., as an array of servers, a set ofblade servers, or a multiprocessor system). An example of a processor1401 is shown in FIG. 14.

The memory 1402 is a non-transitory computer-readable storage mediumprovided herein. The memory stores instructions executable by at leastone processor to enable the at least one processor to implement theimage verification methods 200, 700 and 900 provided in the presentapplication. The non-transitory computer-readable storage medium of thepresent application stores computer instructions for enabling a computerto implement the image verification methods 200, 700 and 900 provided inthe present application.

The memory 1402, as a non-transitory computer-readable storage medium,may be configured to store non-transitory software programs,non-transitory computer-executable programs, and modules, such asprogram instructions/modules corresponding to the image verificationmethods 200, 700 and 900 in the embodiments of the present application(e.g., the image displaying module 1210, the operation receiving module1220, the image rotation module 1230 and the matching determinationmodule 1240 that are shown in FIG. 12, and the image sending module1310, the angle receiving module 1320 and the matching determinationmodule 1330 that are shown in FIG. 13). The processor 1401 executesvarious functional applications and data processing of the electronicdevice by running the non-transitory software programs, instructions andmodules stored in the memory 1402, that is, implements the imageverification methods 200, 700 and 900 in the foregoing methodembodiment.

The memory 1402 may include a program storage area and a data storagearea, wherein the program storage area may store an operating system,and an application program required for at least one function; and thedata storage area may store data created according to the use of theelectronic device 1400, etc. In addition, the memory 1402 may include ahigh speed random access memory, and may also include a non-transitorymemory, such as at least one disk storage device, a flash memory device,or other non-transitory solid state memory device. In some embodiments,the memory 1402 may optionally include a memory remotely located withrespect to the processor 1401, which may be connected, via a network, tothe electronic device 1400. Examples of such networks may include, butare not limited to, the Internet, an intranet, a local area network, amobile communication network and combinations thereof.

The electronic device 1400 may further include an input device 1403 andan output device 1404. The processor 1401, the memory 1402, the inputdevice 1403, and the output device 1404 may be connected by a bus orother means, exemplified by a bus connection in FIG. 14.

The input device 1403 may receive input numeric or characterinformation, and generate a key signal input related to a user settingand a functional control of an electronic device 1400. For example, theinput device may be a touch screen, a keypad, a mouse, a track pad, atouch pad, a pointer stick, one or more mouse buttons, a track ball, ajoystick, and other input devices. The output device 1404 may include adisplay device, an auxiliary lighting device (e.g., a light emittingdiode (LED)), a tactile feedback device (e.g., a vibrating motor), etc.The display device may include, but is not limited to, a liquid crystaldisplay (LCD), an LED display, and a plasma display. In someembodiments, the display device may be a touch screen.

Various implementations of the systems and techniques described hereinmay be implemented in a digital electronic circuit system, an integratedcircuit system, an application specific integrated circuit (ASIC), acomputer hardware, a firmware, a software, and/or a combination thereof.These various implementations may include an implementation in one ormore computer programs, which can be executed and/or interpreted on aprogrammable system including at least one programmable processor; theprogrammable processor may be a dedicated or general-purposeprogrammable processor and capable of receiving and transmitting dataand instructions from and to a storage system, at least one inputdevice, and at least one output device.

These computing programs (also referred to as programs, software,software applications, or codes) may include machine instructions of aprogrammable processor, and may be implemented using high-levelprocedural and/or object-oriented programming languages, and/orassembly/machine languages. As used herein, the terms “machine-readablemedium” and “computer-readable medium” may refer to any computer programproduct, apparatus, and/or device (e.g., a magnetic disk, an opticaldisk, a memory, a programmable logic device (PLD)) for providing machineinstructions and/or data to a programmable processor, including amachine-readable medium that receives machine instructions asmachine-readable signals. The term “machine-readable signal” may referto any signal used to provide machine instructions and/or data to aprogrammable processor.

In order to provide an interaction with a user, the system andtechnology described here may be implemented on a computer having: adisplay device (e. g., a cathode ray tube (CRT) or a liquid crystaldisplay (LCD) monitor) for displaying information to the user; and akeyboard and a pointing device (e. g., a mouse or a trackball), throughwhich the user can provide an input to the computer. Other kinds ofdevices can also provide an interaction with the user. For example, afeedback provided to the user may be any form of sensory feedback (e.g.,visual feedback, auditory feedback, or tactile feedback); and an inputfrom the user may be received in any form, including an acoustic input,a voice input or a tactile input.

The systems and techniques described herein may be implemented in acomputing system (e.g., as a data server) that may include a backgroundcomponent, or a computing system (e.g., an application server) that mayinclude a middleware component, or a computing system (e.g., a usercomputer having a graphical user interface or a web browser throughwhich a user may interact with embodiments of the systems and techniquesdescribed herein) that may include a front-end component, or a computingsystem that may include any combination of such background components,middleware components, or front-end components. The components of thesystem may be connected to each other through a digital datacommunication in any form or medium (e.g., a communication network).Examples of the communication network may include a local area network(LAN), a wide area network (WAN), and the Internet.

The computer system may include a client and a server. The client andthe server are typically remote from each other and typically interactvia the communication network. The relationship of the client and theserver is generated by computer programs running on respective computersand having a client-server relationship with each other.

According to the technical solutions of the embodiments of the presentapplication, in a case where an instruction sequence including memoryinstructions and non-memory instructions is executed sequentially andhazardous conflicts between adjacent memory instructions are going tohappen, cooperation between hardware and software is made possible, tocontinue execution of a large number of non-memory instructions betweenthe two memory instructions having the hazardous conflicts. Therefore,the overall performance (e.g., processing speed and instructionexecuting efficiency) of the processor can be improved while ensuringprogramming correctness and usability, the efficiency of executinginstructions by using a processor by a user and the user experience areaccordingly improved, and the popularization of the artificialintelligence processor can be facilitated.

It should be understood that the steps can be reordered, added ordeleted using the various flows illustrated above. For example, thesteps described in the present application may be performedconcurrently, sequentially or in a different order, so long as thedesired results of the technical solutions disclosed in the presentapplication can be achieved, and there is no limitation herein.

The above-described specific embodiments do not limit the scope of thepresent application. It will be apparent to those skilled in the artthat various modifications, combinations, sub-combinations andsubstitutions are possible, depending on design requirements and otherfactors. Any modifications, equivalent substitutions, and improvementswithin the spirit and principles of this application are intended to beincluded within the scope of this application.

What is claimed is:
 1. An image verification method, comprising:displaying a first image portion and a second image portion, the firstimage portion being rotatable with respect to the second image portion,the first image portion and the second image portion being obtained bycropping an original image and rotating the cropped first image portionwith respect to the second image portion; receiving an operation forrotating the first image portion; rotating the first image portion basedon the operation; and determining whether an angle of the first imageportion relative to the second image portion matches with the originalimage, in response to determining that the operation is ended.
 2. Theimage verification method according to claim 1, wherein, the first imageportion is a portion cropped from the original image and the secondimage portion is a remaining portion of the original image.
 3. The imageverification method according to claim 1, wherein, the displaying thefirst image portion and the second image portion comprises: displayingthe second image portion in a rotating state or a swinging state, and/orforming a gap between the first image portion and the second imageportion.
 4. The image verification method according to claim 1, wherein,the displaying the first image portion and the second image portioncomprises: forming a gap between the first image portion and the secondimage portion, wherein, the forming the gap between the first imageportion and the second image portion comprises: scaling at least one ofthe first image portion and the second image portion, and/or determininga width of the gap formed between the first image portion and the secondimage portion, based on a desired difficulty level of imageverification.
 5. The image verification method according to claim 1,further comprising at least one of: displaying an indicating device onthe first image portion, and the receiving the operation comprises:receiving the operation through the indicating device, displaying apreset control, and the receiving the operation comprises: receiving theoperation through the preset control, and receiving the first imageportion and the second image portion from a server.
 6. The imageverification method according to claim 1, wherein, determining whetherthe angle matches with the original image, comprises: sending the angleto a server, to cause the server to determine whether the angle matcheswith the original image.
 7. The image verification method according toclaim 6, further comprising: receiving, from the server, informationindicating whether the angle matches with the original image.
 8. Animage verification method, comprising: sending a first image portion anda second image portion to a client, to cause the client to display thefirst image portion and the second image portion, the first imageportion being rotatable with respect to the second image portion, thefirst image portion and the second image portion being obtained bycropping an original image and rotating the cropped first image portionwith respect to the second image portion; receiving, from the client, anangle of the rotated first image portion relative to the second imageportion; and determining whether the angle matches with the originalimage.
 9. The image verification method according to claim 8, wherein,the first image portion is a portion cropped from the original image andthe second image portion is a remaining portion of the original image,and/or further comprising: sending, to the client, informationindicating whether the angle matches with the original image.
 10. Animage verification apparatus, comprising: a processor and a memory forstoring one or more computer programs executable by the processor,wherein when executing at least one of the computer programs, theprocessor is configured to perform operations comprising: displaying afirst image portion and a second image portion, the first image portionbeing rotatable with respect to the second image portion, the firstimage portion and the second image portion being obtained by cropping anoriginal image and rotating the cropped first image portion with respectto the second image portion; receiving an operation for rotating thefirst image portion; rotating the first image portion based on theoperation; and determining whether an angle of the first image portionrelative to the second image portion matches with the original image, inresponse to determining that the operation is ended.
 11. The imageverification apparatus according to claim 10, wherein, the first imageportion is a portion cropped from the original image and the secondimage portion is a remaining portion of the original image.
 12. Theimage verification apparatus according to claim 10, wherein, whenexecuting at least one of the computer programs, the processor isconfigured to further perform operations comprising: displaying thesecond image portion in a rotating state or a swinging state, and/orforming a gap between the first image portion and the second imageportion.
 13. The image verification apparatus according to claim 10,wherein, when executing at least one of the computer programs, theprocessor is configured to further perform operations comprising:forming a gap between the first image portion and the second imageportion, wherein, the forming the gap between the first image portionand the second image portion comprises: scaling at least one of thefirst image portion and the second image portion, and/or determining awidth of the gap formed between the first image portion and the secondimage portion, based on a desired difficulty level of imageverification.
 14. The image verification apparatus according to claim10, wherein, when executing at least one of the computer programs, theprocessor is configured to further perform operations comprising atleast one of: displaying an indicating device on the first imageportion, and receiving the operation through the indicating device,displaying a preset control, and receiving the operation through thepreset control, and receiving the first image portion and the secondimage portion from a server.
 15. The image verification apparatusaccording to claim 10, wherein, when executing at least one of thecomputer programs, the processor is configured to further performoperations comprising: sending the angle to a server, to cause theserver to determine whether the angle matches with the original image.16. The image verification apparatus according to claim 10, wherein,when executing at least one of the computer programs, the processor isconfigured to further perform operations comprising: receiving, from aserver, information indicating whether the angle matches with theoriginal image.
 17. An image verification apparatus, comprising: aprocessor and a memory for storing one or more computer programsexecutable by the processor, wherein when executing at least one of thecomputer programs, the processor is configured to perform the imageverification method according to claim
 8. 18. The image verificationapparatus according to claim 17, wherein, the first image portion is aportion cropped from the original image and the second image portion isa remaining portion of the original image, and/or further comprising: amatching information sending module configured for sending, to theclient, information indicating whether the angle matches with theoriginal image.
 19. A non-transitory computer-readable storage mediumstoring computer instructions, wherein the computer instructions cause acomputer to perform the image verification method according to claim 1.20. A non-transitory computer-readable storage medium storing computerinstructions, wherein the computer instructions cause a computer toperform the image verification method according to claim 8.